const path = require('path');
const fs = require('fs');
const express = require('express');
let app=express();
app.listen(3000);


app.use(express.urlencoded({extended:true}))
app.use(express.json())



// 页面必须和服务器同源（页面必须通过渲染的形式）

// 渲染登录页面
app.get("/login",(req,res)=>{
    let filepath=path.join(__dirname,"./views/login.html")
    res.sendFile(filepath)
})



// 提交登录数据
app.post("/login",(req,res)=>{

    // 用户提交过来的数据
    let {username,password}= req.body

    // 用户是否已经填写了信息
    if(!username || !password){
        res.send("请输入账号和密码")
        return
    }


    // 数据库的数据
    let filepath=path.join(__dirname,"./data/persons.json")
    let persons=  JSON.parse(fs.readFileSync(filepath,"utf-8"))


    // 查询账号密码对不对
    let index= persons.findIndex(item=>{
        return username==item.username&&password==item.password
    })


    if(index==-1){
        res.send("用户名或密码不对")
        return
    }



    res.send("登录成功")
})




// 访问需要权限的路由
app.get("/user",(req,res)=>{

    // 用户不能直接访问，需要验证账号和密码

    // 先判断cookie,
    res.send(`请先<a href="http://localhost:3000/login">登录</a>`)
    return



    let filepath=path.join(__dirname,"./views/personal.html")
    res.sendFile(filepath)
})


